查看原文
其他

从10万到百亿营收的背后 | 同程旅游CTO张海龙 V课堂实录!

2016-06-03 金鸡湖创业长廊



前言

在 10 多年的同程创业历程中,张海龙经历了从 5 人到万人的扩张、融资等过程,他对电子商务、O2O、在线旅游、创业历程、文化打造、技术团队提升等也有较深的理解和心得。


作为同程旅游联合创始人暨现任CTO,张海龙全面负责着同程网一千多人的研发团队管理及同程研发中心的各项系统研发工作的规划开展,牵头打造了支撑同程旅游从10万到百亿营收的业务系统。


基于“研发高度决定同程高度”的理念,他如今正带领同程研发中心向着打造互联网一流研发团队的目标前进。


五月第四期“智造+V”课堂,邀请了张海龙先生,和会员一起聊了聊“民营企业信息化那些事”。以“同程旅游互联网研发战略的探究”为主题,聊了聊“民营企业信息化那些事”。


本次V课堂得到了江苏省CIO联盟、南京CIO俱乐部、华南CIO发展联盟微信群、IT人俱乐部、无锡企业CIO群、泰兴CIO联盟、靖江企业信息化交流群、昆山CIO联盟、常熟IT人俱乐部等38个微信群的支持,11000多名受众通过微信群学习到沉甸甸的干货。





原 文 实 录

Context


群里各位从事 IT 行业的同仁们,大家晚上好,在这边很高兴有机会跟大家做关于同程旅游的分享,说实话我也不是特别清楚我们这个分享是不是要有一定的结构。我就按照同程旅游这么多年的发展和我们研发团队的发展跟大家做一个简单的分享。


其实当我们最早从2002年开始创业,说实话那个时候从来没想过我们将来会变成现在这个样子,当时我们只有一个很简单的想法就是想做一点事情。当时想来想去可以跟互联网和旅游结合起来。之所以当时会选择旅游和互联网,一方面是从行业来讲,我们公司里,我和吴总还有几个创始人,我们都是旅游专业出身的,然后我们对旅游行业非常熟悉和了解。为什么当时会选互联网这个行业加上旅游来做呢?其实也是在2002年的时候互联网第一个高潮过去,泡沫过后,我们当时对互联网接触的比较多,然后我们就觉得说做一个团队的话,有可能从互联网来做,可能会比较容易开始。


当时公司吴总他的经历也是在阿里巴巴做过销售,所以说对于网站,对于平台还是有很多的意向和愿望想去做。所以我们一开始也没有想着做太大,因为刚开始创业的时候也没有特别明确的方向,我们当时想的就是怎么样能够让这个团队或者公司能够活下来,所以我们一开始做的是网站,其实就是我们给行业里面的旅游企业做网站,从熟人和朋友开始去帮他们做网站。后来我们做了差不多一百多个网站之后,然后我们就想,这一百多个网站,如果一直这样去维护的话,其实每年的维护量还是非常累的。那有没有什么办法可以更好的满足用户的需求,同时我们的价值又能够更好的发挥,所以我们在做了一百多个网站之后想做一个平台,这个平台就是把这一百多个网站,以这一百多个网站核心影响更多从事旅游的企业或者旅行社、宾馆、酒店,他们能够上到网上来。


所以在2004年时我们的基于旅游行业的B2B网站就上线了。团队从做网站开始,第一个技术就是我,从我开始把公司所有的网站、服务器、电脑、网络,都是我一个人在维护,也是那时一个典型的创业型公司,后来一个人做网站忙不过来,我们又为了做平台,我们又去招了几个开发,还有设计,就把公司的研发团队雏形开始做起来了。2004年网站上线之后,应该说在行业里面还是挺有影响力的,当时我们在国内也有几个竞争对手,就是在旅游B2B领域,当然目前为止这几个对手已经好多年没有听到声音了。当时做B2B网站的时候,这些对手还真是蛮厉害的,因为他们有些甚至比我们做得还要早。当时我们在行业里面去参加旅游交易会的时候,也都是短兵相接,直接去面对对手推出我们的产品。


我们在做B2B的时候,这个网站比较简单,投入也不大,我们当时做得也是基于行业的会员来做的,我们的会员最早是免费的,因为我们当时是用网站把这些原始会员积累起来。后来我们觉得免费肯定不是一个长久的路,我们就从免费到网上推出了一个产品叫做网上名片,其实就是帮各个旅行社行业老总在网上推送他们的公司和个人介绍的网站,因为从事旅游的旅行社老总,他们还是很希望在网上有他们的一个空间,所以当时我们推出第一个产品,也是我们一个主要的产品,就是所谓的网上名片,当时是100块钱一年。


当时在线上面,能够提供这些实时交流工具并不多,虽然有QQ,但是他们还是不能完全替代在网上展示他的企业。后来我们基于这个平台也开发了自己的论坛,这个论坛很大特色就是把用户的头像直接显示在网站上。现在可能看来大家会觉得说再简单不过的一件事情,但是当时在网上还是非常少见的。然后我们这个100块钱的产品,从100块钱慢慢开始提升到600块,最后这个产品销售价格定格在1800元,当然也包含了其他一些内容。这个产品应该说是这个平台最早的一桶金,因为它给用户带来的价值和公司的生存得到了初步的解决。这个网站本身从我们研发角度来讲,它投入的人并不多,当时整个负责这个网站研发的只有几个人,公司准备要去付出的服务器这些成本都是比较低的。我们从2006年开始,当时吴总去参加了《赢在中国》第一届比赛,我们被评委启发了之后,在2006年开始做我们的B2C产品预订,也就是针对游客直接提供预订服务的产品。



吴志祥在《赢在中国》


当时我们在做这个产品的时候,明显感觉到系统对研发的要求和压力还是比较大的。当时我们比较紧缺的一方面是团队缺研发人才,因为做B2C的话,整个开发工作量比我们做B2B网站要多很多,整个业务系统,整个前台、整个后台,跟供应商的对接,所有这些系统都需要很多人来开发。刚才讲我们B2B的时候,团队人是很少的,所以在2006年的时候有一个专门做.net开发的团队加入到公司里面来,当时这个团队进来之后,非常快的加大我们的研发速度。


这个团队进来还有一个小故事。因为我们最早当时还在用ASP开发,估计很多熟悉以前开发IT同事应该知道。后来.net团队进来之后,大家都觉得.net一定是非常好的,实际当时我们真正上线的时候才发现,.net他们开发的那个系统作软件是挺好的,因为用的人非常少,但是作为一个网站来用,很明显发现它的性能有很大的问题,这个也是我们后来通过一段时间之后才把.net的B2C网站改好了。从整个同程研发方向来讲,我们最早是ASP,后来是.net开发,一直到现在整个研发团队里面还有非常多.net开发人员在从事开发工作,这跟我们当初最早是从ASP微软平台到.net有非常大的关系。看整个旅游行业里面也挺有意思的。最早不管是携程,还是艺龙,他们也都是不约而同的最早的时候都是用ASP和.net进行开发,这也是觉得挺有意思的一个现象,起点比较低。


后来我们自己也做过总结,因为很多人都去争论到底什么样的开发语言好,什么样的开发环境好。其实我们最早的时候也有过这样的担心,觉得你不是一个符合互联网主流的开发环境,好像就不是一个真正的互联网公司,实际上后来我们心理想明白之后也就不去纠结这件事情。因为从一个公司来讲,最早的时候,最重要的事情不是去迎接主流或者什么,而是先要活下来,所以从公司角度来讲,什么样的方式能够最早让这个公司顺利的开展工作,顺利的开展业务,能让他很好的活下来,适合才是最好的平台,如果能一步到位,当然最好了,但当时条件有限。


2006年我们有.net团队进来,2007年开始有java人员加入到我们团队里面来,他们加入进来主要是做搜索,因为在搜索这块,java做得比较好。我们之前为什么一直没有大规模去用java,在很大程度上跟整个公司的研发方面的投入有一定的关系,因为java人员整体来讲比.net人员成本相对来说要更高一些,再加上我们当时从公司业务来讲,对研发的要求,我们用.net开发是完全能够满足的,所以我们在相当一段时间之内,我们的.net是主要的开发环境。然后也是在2007年那个时候同程才真正算是有了自己的测试团队,在2007年之前虽然已经开发了很多系统,但是那个时候我们并没有真正的测试团队,都是以开发同事自己去测试为主,那个时候虽然公司也很重视系统的稳定性、可靠性,实际上我们都是以开发自己测试为主。到2007年因为当时我们除了做B2B网站能够盈利,做B2C平台一直是亏本补贴的状态,还找了一个方向就是做了一个行业软件,我们在做行业软件的时候才开始组建了专门的测试团队。


我们从2004年B2B平台开始,2008年开始做行业软件,做到了2010年,一直是公司主要的两个营收渠道。从2006年做到2010年公司彻底转型到B2C的时候,整个B2C平台当时还是亏损的。但是我们在2009年之前,当时我们在苏州市区沧浪创业园,因为我们整个公司扩张太快,座位已经坐不下,所以在2009年的时候就搬到了园区创意产业园。



同程旅游搬到了创意产业园


这个过程里面大家可能会觉得,为什么会扩张这么快?一方面是因为我们有几条产品线,B2B旅游行业的平台,第二方面是有B2C的预订,B2C预订出来开发、业务,还需要客服人员,所以整个公司的人员扩张速度还是非常快的,再加上我们也有行业软件的开发,所以我们当时在市区沧浪创业园坐不下了。


当时在搬家的时候还是有很多的犹豫和纠结。当时我们在2009年搬家的时候,有两个选择,一个选择是继续留在市区,市区也有一个旧的厂房已经去看过了,好几层,地方看起来也很大,但等于是毛坯。还有一个地方就是我们现在所在的高教区,苏州园区创意产业园,当时2009年过来看的时候,那边的人相对还是比较少的,我们团队就在犹豫到底是留在市区,好像成本等低,还是我们搬到园区创意产业园那边去。因为当时创意产业园离市区是比较远的,我们搬到园区之后,可能会导致很多同事上班比较远,特别是我们担心研发团队的人,如果搬到那边去的话,会不会有很多人觉得太远,他就离职或者不做了。所以当时我们公司就专门租了大巴,把公司核心的同事带到创意产业园去看那边的环境,告诉大家说,创意产业园或者园区的发展空间可能更适合同程将来的发展。2009年底就从沧浪创业园搬到创意产业园。


在搬过来之后,因为整个办公场所都重新规划,我们的研发团队也都合并到了一起,当时公司就决定把研发作为整体来管理。在2009年之前,我本人自己的管理半径也并不是很大,而且自己很多的精力也都还聚焦在一些具体的技术上面,其实对于一个研发团队的管理也并没有太多的经验和想法。


但是2009年搬到园区创意产业园的时候,有一件事情还是让我们稍微有一点措手不及,就是我们当时搬过来的时候,另外一个.net研发团队的研发负责人离职了,当时我们还觉得挺奇怪的,他为什么会离职呢,我们觉得公司也还挺好的,正在往一个好的方向走,他为什么会离职呢?后来我们才知道,当时是在苏州另外一个地方也成立了一个跟同程比较类似的旅游互联网公司,当时他们也是给研发负责人,应该说现在来看,当时完全是一个空头支票,后来他就到了那个公司去,从我来讲,我就相对被动,本来我以为研发团队 34 45241 34 15534 0 0 3622 0 0:00:12 0:00:04 0:00:08 3621由他来负责可能比我更好,当时我自己还一直沉醉于技术上的东西,所以他离职之后,我们2009年搬过来之后,研发团队由我一个人来带领。当时研发人员差不多有100人左右了,从我自己的角度来讲,怎么样去管这100人?因为之前我只管20几个人,突然一下子变成100个人,公司说研发这个事情以后就全交给你了,当时突然有一点小茫然,就是说到底怎么样去带100个人的研发团队。


后来自己当然也看了一些书,因为并不知道一个研发团队怎么管,特别是公司当时也有一个想法说,你这些研发人员天天在那边看上去是写代码,说你怎么样去衡量它的工作,你是数他写了多少行代码呢?还是怎么样衡量一个开发同事他每天的工作量,所以当时我们也没有其他更多可以参考借鉴的地方,我们就在想,怎么样去评估一个研发同事每天工作的有效投入和产出。当时我也只想一件事情,我要有一个简单的系统,当时我们还是用excel表格,把每个人员的开发量记下来。我当时从接手这100个人整个管理的时候,除了刚刚用的那个表格之外,我觉得自己并不是一个特别善于管理的人,所以我当时还是在团队里面,也根据前面几年的工作物色了一个,还是比较有想法,而且也特别想做的一个同事准备让他来整体负责研发团队。


从同程来讲,我们也有一个管理上的特色,就是所谓的政委文化,我们也是从阿里那边学过来的,当时在研发内部,我也是找了两个人,一个人负责技术管理,一个人负责整个团队人员和人力、团队动态、团队氛围方面的打造。


在我2009年带这100个人的时候,我找了两个人帮我去逐步管这个团队,我当时只是模糊给他们一些方法,告诉他们说,可能我们要从人员每天工作时间,每天写的代码量用excel的方式去管理这些人。当时公司整个核心的数据库和服务器,当时并没有非常合适的人来接手做这块,所以我当时自己还是有相当多的精力还是要关注网站的稳定性、数据库的性能和后台服务器的稳定性。其实当时这块工作也想过开始要交给别人,但是一直没有找到特别合适的人。


2009年我们B2B软、软件、B2C还在同时运行,在2009年整个公司营收差不多在三千万,里面可能有几百万利润,到了2010年的时候,公司觉得说如果不再进行转型的话,很有可能每年的营收也就是在3000万左右徘徊,很难有爆发性增长,从团队来讲到底是这么继续维持?还是需要找到一个更广阔的空间,这个是我们当时整个团队思考的事情。所以在2010年的时候,我们就下了一个很大的决定,就是公司彻底转型到B2C预订平台。如果再不转型的话,公司依然维持在前面几年水平上面。


那么转型B2C其实是有很大风险的,我们在2006年虽然开始做B2C,但是2003年的时候携程就在美国上市,2004年的时候艺龙也在美国上市,实际上当我们去做B2C转型的时候,还是冒着非常大的风险,但是我们因为在2008年的时候,公司拿到了园区元禾控股创投的第一笔融资,拿到融资之后,我们就把这笔钱一点不剩,全部放在了当时在国内还不算特别流行的百度推广上面。


携程也好,艺龙也好,他们还并没有关注在线上推广,他们更多还是在线下做发卡,在机场、火车站发卡,所以当时我们拿到第一笔融资之后,把这个钱基本上全部都花到了线上推广,因为线上推广我可以非常清楚知道说每一次点击花了多少钱,每一个用户点击到了我的网站之后,他浏览了什么东西,到底有没有下单,他有没有付款,这些我们都可以完全做到跟踪。




所以经过2008年的投资,2009年从线上做推广,再加上当时在行业里面,在现在看来我们也是开了一个并不算非常好的头,当时我们用现金奖励的方式推广我们的网站,在一开始我们用互联网推广加上现金奖励的方式,我们基本在旅游预订行业里面还是在线上OTA口里面夺了差不多5%的市场份额。这个是我们当时在2010年为什么敢去全面转B2C的原因,当然在转B2C过程中间对于团队也是非常大的挑战,因为很多人已经习惯了过去做B2B,而且是盈利的,现在突然要转B2C很有可能是亏本的,大家都有这样的心存疑虑。但是我们公司还是非常坚决的去做了这个转型,不管是业务的同事的转型,当然这中间也有一些同事离职,包括研发人员也有很多转型,过去是做B2B平台,现在我们都要逐步转型去做B2C,对他们来说有很多新的东西,新的语言都要去学习,但是作为互联网公司来讲,有一个很典型的,除了工作压力大之外,很典型的特色就是变化非常多。有的时候不是两年变一次,很有可能在一年之内都会变很多次,包括组织架构都会变非常多,所以这是互联网公司比较常见的一个特色。


当时在2010年彻底转B2C之后,整个公司营收确实在当年就从三千万涨到一个亿。从2009年的三千万,到2010年一个亿的营收,到2011年两个亿的营收,到2012年将近四个亿的营收,确实当我们全面转型B2C预订之后,公司营收有了非常快的增长。为什么我们能够在携程和艺龙口里面夺下这样一些市场份额,就是跟我们2008年最早开始关注互联网在线搜索引擎推广,包括去做现金返奖。携程和艺龙他们都是后来开始做类似于现金返奖和在线搜索引擎推广。2011到现在都是公司高速增长的几年。


这几年里面,其实也有很多的变化,一方面是整个研发团队的变化,一个变化是扩张快,因为公司在做B2C之后,做旅游预订之后产品线扩的非常快。从酒店到机票、租车、演出票,最后开始向景点门票都是在2010-2013年快速扩张出来的。扩张过程中间,因为公司本身对营收的要求,包括利润的要求也非常高,其实对每个业务部门压力也非常大,在这种压力之下,每个部门对研发的要求就会非常高,最终当公司去盘点说你一个季度,半年、一年营收和利润为什么没有完成?在很多情况下,大家的矛头包括平时的矛头都会指向研发,说研发人不够或者研发的开发速度太慢,或者没有完成我要的开发需求,所以我有很多的营收没有完成。在2011年到2014年之间,整个研发和业务的相互纠结纠缠还是比较多的。当时研发都是集中管理嘛,所以跟业务的矛盾会比较明显,我们每次公司开经营会议的时候,业务都会说,最后很多争论的焦点都面临着就是因为研发人员不够,所以研发压力非常大。


后来我们也做了一些探索,其实研发心里很清楚,很多东西并不是因为研发人力不够的原因,在很大程度上是因为业务的需求本身有一些不合理。再加上很多需求当时想的是比较美好的,真正当研发变现上线以后,很多应用后面去追究的时候发现很多上线以后的系统并没有很好的用起来。虽然业务是说研发的需求不能满足,但是我们实际上会发现说,很多时候是业务的原因,所以我们当时也做了一些初步的尝试,就是把个别研发团队从研发里面拆分出来,让他跟业务放在一起,这样的话,当研发和业务在一个部门里面的时候,他们相互之间或者对于研发的不合理要求就会降很多,要求可能会一样有,但是他至少不会自己去指责自己说,我的人员是招的不够的,这是在2010年开始到2013年都是比较纠结的一件事情,就是研发跟业务进行纠缠。


我们在2012年的时候,当时整个研发团队人也比较多,做得项目也比较多,需要支持公司各个业务条线。所以公司也在开始做公共基础研发的探索,每个研发团队当他去服务每一个业务团队的时候,都会有相似或者类似的开发,比如说我们的会员服务,比如说我们的保险的服务,自动传真的服务,这些服务每个团队都要去用到,但如果每个团队都去开发显而易见是不合理的,所以我们当时开始把公共功能全部抽取出来,专门由一个团队进行开发。


除了公共开发之外,还有一个开发就是每个研发团队自己需要用到的开发框架和开发的工具,这个其实也是并不需要每个团队自己去做的,所以当时我们除了应用类系统把它处理出来之后,对于开发的工具,开发需要用到的技术框架,我们也在由公共研发进行开发。2012年的时候当时移动互联网有了一点抬头的迹象,但是当时方向并不是特别明朗,到底是安卓好,还是IOS好,甚至当时还有微软的系统,到底哪个系统好,其实我们心理也不是特别明确,所以到底在哪个方向上下研发投入,我们当时也不是很清晰。


在2012年我们就开始做了手机端的开发,当时只有两三个人在做,而且刚刚开始兴起的时候,移动互联网研发人力成本还是非常高的,而且人也很稀缺,越稀缺成本越是高,所以这块一直没有下大力气去投入,到了2013年的时候当时我们经过2012年开发,苹果和安卓客户端初步有了一些雏形。2013年我们面临一个问题,这些客户端是开发出来了,但是到底怎么样能够让用户用你的客户端,这是接下来面临的非常大问题。当时公司正好开完董事会之后,我们的股东除了2008年股东之外,腾讯也已经进来了,腾讯说你如果在2013还不大力去做移动推广的话,很有可能现在不愿意花5块钱的客户端,将来可能要花15块都不一定下载和安装一个客户端。所以当时我们得到股东这么一个建议和支持之后,我们在2013年开始大力推广客户端,2014年进入移动客户端推广的高潮,这也是很多人都比较熟悉的“1元门票”的由来。




腾讯之所以会投我们,很重要原因是腾讯也想做旅游电商,但是他做旅游电商是有流量的,他的人不愿意干这些重复特别苦的电商的活,所以就把后端整个服务和资源接进了我们,所以跟我们合作之后,他们觉得整个同程团队还是比较务实靠谱的团队,所以在2012年投资了我们。


梁建章先生在2012年开始回归携程,回归之后发现携程变化非常缓慢,而且对于外面的动作反应也非常地慢,所以2013年梁建章就对携程开始做了很多的改革。自从梁建章回到携程之后,对携程做了很多改革之后,我们就明显感觉到整个在B2C预订市场的环境明显不如前面2006年开始做,一直做到2013年。明显感觉到市场环境压力很大,而且酒店机票我们基本上没有可能去拿到整个市场的第一,所以当时我们做了景点门票的预订。景点门票的预订也是基于前面做B2B的积累,跟非常多的景区有非常好的关系,所以我们去做了景点门票预订。


景点门票预订当时在市场上还算是新鲜事物,所以我们做的时候有一个先入为主的机会。但是从携程角度,当时他是不愿意接受这个市场里面竟然还有一个旅游类的余地,他不是市场第一,他不能接受这个事实。所以在2013年开始公司在外部市场面临压力非常大,特别是酒店机票不用说,景点门票我们也面临非常大的压力。2013年的时候,公司一年可以做到六七个亿的营收,每年有将近三四千万的利润,当时我们在2013年做好了所有IPO的准备。一个是国家IPO排队公司数量很多,再加上2013开始面临这么大的外部竞争形势,我们判断到最晚从2013年底开始,可能整个公司经营情况如果按照目前的打法,就是盈利打法的话,一定会越来越受到非常大的挤压和压缩。所以公司从2013年6月份,虽然把材料送到证监会,后来材料又拿回来了,终止了IPO的过程。


因为我们并不希望说,在跟外部激烈竞争过程中间,很多信息要对外披露,还要面临赢利的压力,我们希望从2014年开始彻底去换一个跟前面2004-2013盈利的打法,我们要彻底换一个打法,我们需要更多的投入获取更多的市场份额,所以2013年底再次从腾讯这边拿了一笔融资,拿到之后在2014年初就跟携程有一个非常激烈的竞争,这个竞争其实就是聚焦在景点门票的行业上面。当时这个竞争非常惨烈,大家都是拼了命的给用户返现金。当时最典型的一个例子在东北一个景区,一共200多的门票,用户订完之后,不管哪一家我们都等于把门票原价返现金给用户,这是当时打的最激烈的一段时间。


除了市场产品竞争之外,还有就是人才团队方面的,当时携程想了很多办法,花了很多心思,在我们对面设立办公室,直接约我们的同事去谈,去挖我们的人,当时公司里面面临内外压力还是非常大的。但是我们这个团队有一个非常好的特点,首先从几个创始人角度非常非常稳定,而且非常地务实,当时当外面有内外人员和市场竞争的时候,我们对内团队的稳定还是花了很多的工夫,即使这样,在2014年初我们团队还是有一定的人员变动,特别是在公司相对偏高层的项目负责人角度都有个别的项目负责人因为对手的影响而离职,因为当时携程说同程再跟携程竞争下去的话,用不了几个月你们的现金就消耗完了。


梁建章先生的眼光和胸怀还是很广阔的。在我们坚持了几个月之后,携程觉得与其这样相互去消耗现金,其实是没有太多价值的,到了4月份的时候,梁建章先生就私下跟吴总做了一个约谈,三个礼拜不到左右的时间,携程就成为我们当时最大的股东,仅次于我们团队成为了我们的股东。成为我们股东之后,接下来的打法,包括资源的互换就会有很多的不一样,也让整个市场相对来说更加的理性一点。但是我们在2014年初少量人员的变动,其实对团队还是有那么一点点影响的,从我开始又更多的去关注到研发团队的建设里面去。


在2014年之前,整个开发环境和研发环境都是以.net为主,2014年开始有腾讯和携程进来,整个公司的现金流非常充沛。既然是投入型打法,那不管在市场还是在人员上面都必须要有大的投入,所以在2014年开始,不管从业务端,还是研发端,从人力的投入上面,我们做了更多的投入。可能在前面几年整个同程的研发,至少在苏州来讲并没有太多的影响力和特色。

从2014年开始在研发上面加大投入,包括人员的招聘,特别是中高端人才的招聘,当时整个公司跟携程进入相对理性的竞争之后,我们整个公司业务发展还是非常非常快的,特别是携程景区也接入到我们景区以后,景区项目的系统压力就非常大,所以在2014年开始引入了不少中高端人才,把整个研发的基础体系,基础架构做了重新的开发。也是从2014年开始真正在开源方面进行大力投入,在之前是非常小的规模,主要还是以.net为主。


开源这块投入很明显的特色,就是我们对于不管是虚拟化,对于存储环境,原来我们更多是尝试使用商业化设备,比如说负载均衡也好,数据库也好,我们都是喜欢商业化设备。在2014年之后更多逐步转向开源,把原来商业化的硬件,包括虚拟化和负载均衡都开使用软件化的方式来做。再加上腾讯第二次成为我们股东之后,他对整个投后公司的管理和扶持上面也有非常大的投入,所以我们跟腾讯也好,跟行业里面比较主流的互联网公司都会有比较多的交流,这也是在技术上面提升非常快的一个地方。


经过2014年的积累,2015年基础架构可以说是十年以来质的突破,目前的架构机制既满足我们过去.net开发环境,也为我们将来更多往java,往开源开发去转,我们已经做好了非常好的储备。整个虚拟化的应用也是从之前基于商业化VMWARE虚拟化应用,已完全彻底放弃了,转到基于开源的云平台的虚拟化,我们现在差不多有70%的硬件完全都虚拟化使用了。在我们基础研发方面,因为整个系统压力会比较大,2015年的服务人次过一个亿,每天高峰的时候,订单量会有100多万订单,在这种情况底下,对于很多后端的新型数据库,对于集中式缓存,对于消息队列的使用也是我们过去基本上是从来没有用过的,在现在这种需求下,都需要完全去接轨主流的互联网公司或者主流的电商公司,他们需要用到一些基础框架和架构。经过2014年的调整,我们2015年已经有了非常好的突破和应用。


今年我们研发内部定了一个方向叫自动化运维年,做IT很多同事都知道,在一个系统维护里面,开发是很重要一方面,实际上比开发更苦逼的是IT维护和线上系统的运维团队,他们需要24小时待命,一旦出问题,第一个反应肯定要找运维。前面十年,研发里面最最苦的并不是开发,虽然他们也跟业务纠结,最苦的是IT和内部线上系统运维人员。因为他们是一出问题就要被拎出来去追究责任,去被责备的这样一些人,但是从2016年开始,整个研发已经基本实现了完全的自动化运维,所谓自动化运维就是把我们传统的发布维护方式改造成从开发到自动化上线,灰度测试,再完全发布,过去传统的做法是用FTP或者拷贝复制的方式去做系统的更新,现在我们完全是基于自动化的发布,然后做灰度测试,没有问题之后才会做全量的发布,这些都是用自动化的方式去进行开展,开发人员也不需要找运维帮助他负责代码的更新,负责系统的更新,这是我们今年非常大的变化。


除了系统发布自动化的变化之外,还有一个明显的特点就是整个运维团队的口号叫边喝咖啡边运维,过去运维都是非常紧张,每时每刻都在等着说什么时候出问题,现在我们的运维反过来,它是通过各种系统自动化监控来发现哪一个系统在某一个时间点,集中发生了什么样的错误,这个错误发生在哪个应用里面,甚至连是发生在哪个网址都知道,知道以后并不需要等到别人来告诉他说,这个网站,或者这个网页打不开,他已经知道了之后,他会反过去盯我们的开发,告诉开发说,你的哪一个地方在什么时间点出了什么问题,这就变成了过去是运维被人追着打,现在是反过来运维吊打我们的开发,告诉开发你的哪个地方出了问题。


这就是同程从2002年,2004年开始,到2016年,随着业务变化从B2B到B2C,随着公司方向的变化,整个研发的变化,当然人也确实是从当初我一个人到几个人,然后到现在团队进来几十个人,最后到一百个人搬到园区,从一百个人慢慢扩张,现在加上我们无线的研发,可能有将近一千三四百人的研发团队,在这个过程中间,都是随着业务的扩张逐步把人员的团队给扩张起来的。


互联网公司的研发一般都是覆盖到从代码的开发到线下IT维护再到线上系统的维护,都是由整个研发团队统一负责的。整个研发团队也是负责公司里面从我们的PC到手机到APP,还有一小部分跟景区合作的桌面端的嵌入式开发,我们都覆盖到了。刚刚讲了我们是以普通开发为主,除了业务系统的开发,还有公共应用的开发,就是一些公共的短信系统、传真系统,基础架构研发,比如缓存、消息队列、自动化运维,其实我们在内部除了线下办公IT,还有呼叫中心,苏州这边差不多是三千人的规模,去年在全国落地之后,全国呼叫中心也是分布式呼叫中心,加上苏州的规模差不多在八千人左右的呼叫中心,这也是由研发团队来维护的。


还有自动化测试,从2007年才开始正式组建我们的测试团队,现在在自动化测试,在压力测试方面,我们也是有一个不错的积累和团队。另外,我们从系统安全,因为做互联网大家都知道安全是非常重要一点,那我们其实跟测试一样,之前对安全也基本上靠开发人员自己来管理的,但是从2014年开始对安全这块采取开放的态度,跟行业里面很多安全平台,比如乌云这样的平台我们做了很多的对接,通过这样一些平台督促我们自己的开发团队更好的提升我们的安全水平。因为我们并不去隐瞒自己这些问题,我们欢迎正常的行业里面的白帽子帮我们挑这些问题,我们去做快速的改进。


目前同程研发的规模差不多有将近两千个独立的应用,就是说各种应用系统,相互之间做了拆分,有将近两千个独立的应用。服务器目前从物理机上差不多是三千多台规模,虚拟机的话,私有云+公有云差不多在八千台,也覆盖了windows,因为我们现在.net还有相当多的应用,坐席差不多是八千人,目前办公网络最新的公司的数据差不多是在1.8万人不到,苏州这边是8000多人规模,全国各地还有将近8000多人的全国办公网络,这是目前整个同程研发团队整体去负责的系统的规模。


好,刚刚讲的是整个同程从最早时候很少几个人到现在这样一个规模,从业务方面协调讲了一些,从研发团队扩张也讲了一些,后面大家如果对整个扩张过程中间有一些问题或者想交流的,欢迎大家在群里面以语音的方式进行交流吧,谢谢大家。



互 动 答 疑

Q & A


目前B2B平台开发应用是什么?.net缺点是什么?java缺点是什么?


目前我们B2B平台开发还是以.net为主,因为这个平台在我们内部已经是比较边缘的一个项目。大家可能问说.net的缺点和java的缺点,我个人觉得如果对于普通的访问量应用来讲,.net是完全可以满足了,当然.net缺点可能有一个不好的地方,就是它是微软体系的,你要去开发它,从投入成本上比较高,因为它是要商业授权的。java优点当然是开源的,但是有一个缺点至少我们经验来讲,java人才会比.net人才要更贵一些,可能培养起来,.net人才培养起来比java更快一些。如果单纯论普通网站开发,也不一定比.net开发效率高很多,当然可能性能上面会比.net好不少,可选择的框架也多很多。


为什么同城有几次都是先占主导地位先进入市场的,最后还是被迫转换市场呢?


有人问说我们有几次都是先占主导地位先入市场,最后还是被迫转换市场。当然酒店、机票我们并没有先进入市场,所以这个我们并没有说占主导地位。从景点门票来看,目前为止景点门票依然也是全国第一的份额,事实上景点门票行业是非常标准的产品,类似美团这样高频消费公司,如果想进入这个行业的话,对我们来说,我们是没有太多核心竞争力的。为什么会觉得我们好像占了主导地位,但是为什么还要被迫转换,在很大程度上,其实互联网公司有一个特色,有时候你是很容易被人去颠覆的,虽然你之前可能有一点点领先,这个时候只有一个办法,不是去死扛,而是快速找到这个团队真正的核心竞争力。


现在同程是如何评价开发人员的绩效呢?


关于开发人员的绩效,其实我们现在已经不太像前面刚刚讲的,我们当时还有很多excel表格去记录,每个开发人员每天所谓开发满了6个小时还是多长时间。我个人觉得,当时还是处于不信任研发人员的情况,总觉得好像研发人员在那边是磨洋工,是在那边浪费时间,所以我们用所谓任务的方式去管控研发,说每天是不是开发满6个小时,事实上我们现在对研发人员的绩效并不是用开发时间来衡量的,我们对研发团队的规模,我们是根据业务团队的营收规模来做一个基本研发投入的预算,在这个预算之内,我们对研发人员并不做太多人员上的限制,但是对研发人员我们也有要求的,会在开发质量上面会对他们有更多的考核。除了开发质量的考核之外,开发人员在目前情况底下在很多时候还是依然被业务去推着往前走,因为很多业务的需求我们依然是没有办法去做到非常高的满足。


很多时候说得夸张一点,研发人员想偷懒也很难去偷懒,所以我们研发人员的绩效更多是根据他开发的质量,开发代码的质量,来评定他的技术等级,因为我们对研发人员有明确的晋升体系,从T1-T12,这个里面人员能力是几级对研发人员会有基本的薪资评定,再根据日常开发质量和部门,我们每个月会有ABCD的考核,根据这个来确定他的考核。


说实话,这可能跟咱们在当地哪一类研发人员比较容易招聘或者培训,我觉得这是一个重要参考点。因为要看你这个电商平台的访问量是多大。举个例子,我们现在是60%依然还是以.net开发为主,特别是传统这些业务系统,实际上.net系统现在也能够支持,像我们景区项目每年也能够支持每天七八十万订单的访问量。其实语言本身我并不觉得说必须用哪一个,还是根据你公司的规模和系统规模来看,从长远看,就像我们一样,也从.net转向了开源,这是一个过程,如果我们上来就做java的话,也有可能做不到现在这个样子,这是为我给团队开的头做个开脱,呵呵。


不管是java也好,PHP也好,这些人员能够一步到位最好。从数据库角度来讲,如果你是选java或者开源的mysql肯定是不二选择,肯定是要选它的,如果你是用.net的话,可能sql server是非常配的东西。但是.net和sql server有一个弱势,如果你做大了,一定会碰到授权的问题。小的时候微软不一定会关注你,但是你规模大了之后微软就会关注你,这可能会是你将来的瓶颈。所以java人员有基础,当然我是推荐用java或者PHP配合mysql做咱们系统的搭建。


同程、携程、途牛网站等现在很多旅游的产品都趋于同质化,您作为同程的联合创始人,您觉得同程的核心竞争力在哪里?你们的IT相比这些单位,有竞争优势吗?


这个问题也确实是经常被大家问到的问题。从产品来讲,同质化我个人觉得确实是绕不开的话题。作为同程来讲,在前面几年大家都在说我们的竞争力是什么?前几年我们也没特别想清楚竞争力是什么。同程也好,携程也好,途牛也好,产品本身确实是有同质化,但是平台不太一样,我们跟携程相对来说体量上更像一些,途牛更接近于做出境旅游和打包型旅游,我们在酒店机票这块跟携程是更相象的。近一两年也把我们很多精力放在了打包型的出境,国内旅游,邮轮这样的产品上面。


那我们核心竞争力其实是从去年下半年开始显现出来了,因为我们三家公司是不一样的。携程主要是依托于线上,因为他过去通过线下发卡已经积累了非常多的高端用户。同程和途牛现在在打包型旅游市场上面还是短兵相见的,但是我们打法不一样。途牛更多是依托于广告做他的品牌,所以大家对他的广告会非常熟悉。我们去年开始更多是从线下落点。虽然途牛也会落,但是它的落点跟我们落点方式不一样,我们在线下布点更多是销售型为主。目前同程IT团队水平和开发能力,我们是完全不输于携程的,甚至在一些方面我们也有一定的超过。跟途牛来讲,我们市场和用户规模是比途牛大很多的。


同程是互联网公司,现在传统企业也在寻求互联网运作,您有什么建议吗?


关于传统企业在寻求互联网运作,说实话这里面最大一个问题还是传统企业对于互联网的理解吧。传统企业进入互联网很大一个问题,出就出在对于互联网的理解。像我们同程本身一个幸运的地方,最早就是以互联网工具起来的,虽然是做旅游,但是对于互联网的理解或者投入相对来说比传统企业更大


现在大家进入互联网会发现投入非常大,对于传统企业本身盈利水平在比较紧张的情况下,可能就不太敢于在互联网上投入。再加上在互联网投入的时候跟传统渠道又有很多的冲突,所以导致互联网很难发展起来。


如果说传统企业要寻求互联网运作,首先还是要把传统企业的竞争优势做好。第二,要想清楚如果做互联网到底跟传统渠道应该怎样去相互之间做好权衡。第三,投入要想清楚,当然你也可以小投入,小投入会觉得网站或者互联网只是一个附属。你也可以大投入,彻底把公司渠道转为线上。我觉得这是根据不同的时间看不同的点,也不是说传统企业一定用互联网去替代传统的东西,更多是要想清楚互联网渠道对于你来说,它的价值是什么。


其实我们做互联网+旅游,我们最早就是在线上,我们没有全国各地的点。事实上现在我们发现旅游是一个很强的服务属性的产品,必须要有线下的点才能做,所以O2O也从线上到了线下。但是线上到了线下,我们发现如果你完全变成线下公司也很危险。因为你的业务如果完全是由线下业务人员来做,那人员的变动对你的业务影响很大,目前我们提了一个口号就是O2O2O,说白了就是先要从线上到线下,把线下这些用户拿到自己手上,但是这些用户不是简单的只是通过人来跟他沟通,我的同事在跟用户沟通的时候,更多是通过我们的APP与客户进行联系,让用户又回到APP上面来,所以这就是我们所谓的O2O2O。


以前没有处理过大并发的应用,现在公司也准备做c端的应用,请问张总在处理大并发的应用需要在软件架构及硬件上处理哪些?


在处理大并发这一块,就我的经验来讲,其实我们很多常规点上的系统严格意义上说都不叫做大并发。因为这要看你每秒所谓的请求数。以我的经验来讲,常规电商系统我认为都不算大并发。真正的大并发比如说类似于做抢购的时候,可能类似于大并发的运用。大家可能会担心,如果我的系统不支持所谓的大并发,那有人来攻击怎么办?事实上对于攻击这样一种访问,如果是流量攻击,包括同程我们虽然有几个G的外部带宽,如果流量攻击很轻松就可以把你打垮。所以在遇到类似于攻击这种流量的时候,我们更多还是要去跟类似于比如说腾讯云的大禹系统,或者电信云堤系统合作,我们还是要跟这样的第三方系统进行合作。在处理大并发应用的时候,首先要解决缓存的问题,如果是大并发的系统,不可能让前端的访问,每一个访问全部都落到数据库,这个压力其实是非常大的,所以首先要解决好是缓存的问题。


其实把被访问页面里面相当一部分根本不需要实时访问的东西都缓存掉的话,你会发现系统性能提高很多。硬件上面只要是常规的PC服务器都是可以做的。一个所谓的大并发系统,很多时候是在前端网页写的不够好,第二个是你把很多压力放在了数据库。数据库本身是经受不了大并发的,所以你把缓存这块做好的话,在很大程度上是可以解决大并发的问题。


PC端和手机端是同时开发实现吗?


关于PC端和手机端开发,我们现在是这样做的。PC端是属于传统的开发,本身在我们渠道占比越来越低,所以我们并没有在上面花太多精力去提升太多。手机端这块分两类,一类是APP开发,还有一类是手机浏览器网页。


用手机浏览器访问其实跟PC开发类似,APP我们现在也正在从原生开发更多转为混合开发框架,实际上也是减少原生开发系统的一些麻烦。但是开发目前还没有同时实现,我们现在基本上实现的是手机APP和手机站,我们是同时开发的。等于我的手机站开发出来之后,我的APP在很多页面上可以直接去套用这个网页,这是目前基本做到了,这是我们自己的前端团队在内部开发的一个框架来加速大家去开发手机站。


大家知道传统网站开发要更新一个页面,或者更新页面里面的内容,很多时候是需要改代码,上传、覆盖。我们现在已经不是用这种方式,我们现在是用比如说网站首页,频道页,产品搜索结果,查询列表页,某一个单项产品的终极页面,我们都已经是用模板化的方式在做。


也就是说我把这个模板做好之后,最后用户访问的时候,他实际上从模板系统里面把模板取出来,再把一些价格和关键数据从数据库里取出来呈现出来。当我要改这个页面的时候,只需要改这个模板就可以了。这个模板里面我们也集成了一些缓存的系统,所以页面的效率会比我们单纯传统的用后台代码,用服务端代码+CSS,整个执行效率要高非常多,维护起来也更方便,我也不需要那么多开发人员天天改这个页面,只要有基本的维护模板能力的人就可以去维护大部分的网站页面了。


同程对于客户信息是如何保密的?基于互联网平台数据安全如何保障?


大家问道关于客户信息的保密,这个确实是一个非常敏感的事情。我们的做法是这样子的,第一,我们公司内部数据库是有专门的团队维护的,从开发人员来讲,他是不能直接使用数据库的,特别对于会员数据,都是由专门的数据库管理团队和会员这块的开发团队,他把所有的会员数据用接口的方式对外进行提供,不让普通的开发同事直接接触数据。第二,对于会员数据的保存,比如说我们对于会员的密码,说实话百密总还有一疏,但是我们也在想,如果万一真的那一天用户数据被拿到之后,即使被拿到以后,我们把用户数据里面的密码是通过特殊方式加密的,这样这些信息被其他人拿到,也看不到这些敏感的信息。第三,防止跨注入型攻击,其实我们在前面会有WAF这样一个防火墙,它会把将近90%注入型攻击过滤掉,普通的黑客来讲,他很难通过常规的方式得到我们用户的数据库。


基于互联网平台数据的安全怎么保证,其实对于一个网站来讲,最核心的,一个是用户数据,第二是关于业务相关的经营数据。从安全角度来讲怎么保证,目前的做法,我们在前面几年其实对安全不够很重视,更多是开发来做。但是2014年开始我们组建了自己专门的安全团队,这个安全团队一方面自己具备相当漏洞的扫描和挖掘的能力,另一方面我们也会跟外部的安全团队进行合作,我们每年会有一定的费用,由外部的安全团队来进行悬赏,他们这些白帽子到我们网站上去找各种漏洞。其实我们一开始跟他们合作的时候,漏洞会发现的非常多,我们经过1-2轮之后,系统漏洞就会明显降低非常多。


另外我们也会使用自动化的手动扫描工具来帮助我们发现可能开发不会上报上来的一些新的业务系统。第四个我们也会有类似网站访问探测的系统,因为很多访问方式我们是不知道的,用户到底怎么访问我们并不知道,所以我们会通过探测系统来记录用户的访问,把这个访问再通过漏洞的扫描系统去模拟一些访问去发现一些漏洞。


对于发现的安全漏洞,首先我们把安全这个指标作为每一个开发团队核心的考核指标。第二个我们内部有黑洞大赛,鼓励同事相互去发现,不管是自己的系统,还是其他项目里面的各种漏洞,给同事一定的奖励鼓励大家主动去挖掘。我们发现这些案例之后都会在内部做安全的培训,特别是对新人,让他们去掌握最基本的安全意识,知道这些安全漏洞的发现。其实90%以上的安全漏洞都是低级的开发一些逻辑的漏洞。


其实我们之所以现在做成这个样子,也是跟我们从2013年开始加大研发的投入有很大的关系。在2013年之前也不是我们不想做这些,因为你做很多事情其实是跟公司的规模息息相关,有的时候你做得太早,可能很安全,其实从公司来讲也不一定有太大的收益。但是当你的公司做得越来越大,或者规模越大的时候,你在这方面加强的时候,它的收益肯定也会更大,公司更愿意投入。



IT人俱乐部

第57期沙龙研讨会


6月2日,一群IT运维和主管人员带着各自的困惑聚在了一起,在苏州同程旅游大楼,由赵晓瑜赵总的主持下,倾听特邀讲师 jason 老师关于 ITIL 的分享,以及同程旅游首席架构师王晓波王总和苏州冠辰总经理刘强,关于的信息安全、IT运维实体案例解决方法等。并且提出各自的痛点,共同讨论解决方案。





点击原文阅读,收听本期分享

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存